{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The autoreload extension is already loaded. To reload it, use:\n",
      "  %reload_ext autoreload\n"
     ]
    }
   ],
   "source": [
    "%load_ext autoreload\n",
    "%autoreload 2\n",
    "\n",
    "import pickle\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Methods Analysis"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "data = pickle.load(open('../data/methods_tokens_data.pkl', 'rb'))\n",
    "methods_source = data['methods_source']\n",
    "methods_names = data['methods_names']\n",
    "# method_graphs = data['method_graphs']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The repo contains 88479 methods\n"
     ]
    }
   ],
   "source": [
    "print(\"The repo contains {} methods\".format(len(methods_names)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "methods_length = [len(method) for method in methods_source]\n",
    "plt.xlabel('#(sub)tokens in method')\n",
    "plt.ylabel('Frequency')\n",
    "a = plt.hist(methods_length, bins=100, range=(0, 1000), )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The average number of sub-identifiers in a method name is: 2.807434532487935\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "methods_names_length = [len(method_name) for method_name in methods_names]\n",
    "print(\"The average number of sub-identifiers in a method name is: {}\".format(np.mean(methods_names_length)))\n",
    "plt.xlabel('#sub-identifiers in method name')\n",
    "plt.ylabel('Frequency')\n",
    "a = plt.hist(methods_names_length, bins=range(1, 20))\n"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "r252",
   "language": "python",
   "name": "r252"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
